package com.sg.dto.biz.component.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @desc GenerateTimeCycleEtcSemanticInstanceComReqDto
 * @使用场景
 */
@Data
public class GenerateTimeCycleEtcSemanticInstanceComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 模板引擎标识
     */
    @NotNull(message = "模板引擎标识不能为空")
    @ApiModelProperty("模板引擎标识")
    private String templateSemanticEngineCode;

    /**
     * 周期名称
     */
    @ApiModelProperty("周期名称")
    private String cycleStandardName;

    /**
     * 周期开始时间
     */
    @ApiModelProperty("周期开始时间")
    private Date cycleStartTime;

    /**
     * 周期结束时间
     */
    @ApiModelProperty("周期结束时间")
    private Date cycleEndTime;

    /**
     * 目标内容名称
     */
    @ApiModelProperty("目标内容名称")
    private String targetContentName;

    /**
     * 数量
     */
    @ApiModelProperty("数量")
    private Long acount;

    /**
     * 周期类型名称
     */
    @ApiModelProperty("周期类型名称")
    private String cycleTypeName;

    /**
     * 周期类型标识
     */
    @ApiModelProperty("周期类型标识")
    private String cycleTypeCode;

    /**
     * 开始周期名称
     */
    @ApiModelProperty("开始周期名称")
    private String cycleStartName;

    /**
     * 结束周期名称
     */
    @ApiModelProperty("结束周期名称")
    private String cycleEndName;

    /**
     * 目标周期简称
     */
    @ApiModelProperty("目标周期简称")
    private String cyclelAlias;

    /**
     * 真实姓名
     */
    @ApiModelProperty("真实姓名")
    private String idCardName;

    /**
     * 组内职务名称
     */
    @ApiModelProperty("组内职务名称")
    private String virtualOrganizationPosition;

    /**
     * 修订主体内容
     */
    @ApiModelProperty("修订主体内容")
    private String reviseSubjectContent;

    /**
     * 修订行为名称
     */
    @ApiModelProperty("修订行为名称")
    private String reviseBehaviorName;

    /**
     * 变更后字段中文内容
     */
    @ApiModelProperty("变更后字段中文内容")
    private String columnContent;

    /**
     * 父子中周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
     */
    @ApiModelProperty("父子中周期类型")
    private String parentSubMidCycleType;

    /**
     * 自定义字段1
     */
    @ApiModelProperty("执行周期开始时间时间戳")
    private String customField1;

    /**
     * 自定义字段2
     */
    @ApiModelProperty("执行周期结束时间时间戳")
    private String customField2;

    /**
     * 自定义字段3
     */
    @ApiModelProperty("被评对象目标周期ID")
    private String customField3;

}
